home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / SCSIPlugin.a < prev    next >
Text File  |  1996-05-01  |  4KB  |  117 lines

  1. ;
  2. ;    File:        SCSIPlugin.a
  3. ;
  4. ;    Contains:    Family defined Plugin exports and data structures
  5. ;
  6. ;    Version:    Technology:    xxx put the technology version here xxx
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__SCSIPLUGIN__') = 'UNDEFINED' THEN
  19. __SCSIPLUGIN__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__KERNEL__') = 'UNDEFINED' THEN
  25.     include 'Kernel.a'
  26.     ENDIF
  27.     IF &TYPE('__SCSI__') = 'UNDEFINED' THEN
  28.     include 'SCSI.a'
  29.     ENDIF
  30.     IF FOR_SYSTEM8_PREEMPTIVE THEN
  31. ;
  32. ;************************************************************************
  33. ;        Define entries to SIM routines
  34. ;************************************************************************
  35. ;  SIMInitInfo PB
  36. ;     directions are for SCSIPluginInit call ( -> parm, <- result)             */
  37. ; need to change this to PluginControlBlock ***
  38. ;
  39.  
  40.  
  41. PluginControlBlock        RECORD 0
  42. ioPBSize                 ds.w    1                ; offset: $0 (0)        ;  <- size of SCSI_IO_PBs required for this SIM            
  43. oldCallCapable             ds.w    1                ; offset: $2 (2)        ;  <- true if this SIM can handle old-API calls            
  44. busID                     ds.w    1                ; offset: $4 (4)        ;  <- bus number for the registered bus                    
  45. simSlotNumber             ds.b    1                ; offset: $6 (6)        ;  <- Magic cookie to place in scsiHBASlotNumber (PCI)    
  46. simSRsrcID                 ds.b    1                ; offset: $7 (7)        ;  <- Magic cookie to place in scsiSIMsRsrcID     (PCI)    
  47. simRegEntry                 ds.l    1                ; offset: $8 (8)        ;  -> The SIM's RegEntryIDPtr                    (PCI)    
  48. maxTargetID                 ds.l    1                ; offset: $C (12)        ;  <- max Target ID of this bus
  49. initiatorID                 ds.l    1                ; offset: $10 (16)        ;  <- comes from the NVRAM                                 
  50. scsiTimeout                 ds.l    1                ; offset: $14 (20)        ;  <- bus time out period
  51. scsiFlagsSupported         ds.l    1                ; offset: $18 (24)        ;  <- scsiFlags supported by this SIM
  52. scsiSelectTimeout         ds.w    1                ; offset: $1C (28)        ;  <- selection time out period
  53. scsiIOFlagsSupported     ds.w    1                ; offset: $1E (30)        ;  <- scsiIOFlags supported by this SIM
  54. scsiDataTypes             ds.l    1                ; offset: $20 (32)        ;  <- scsiDataType supported by this SIM
  55. ;   *** need to remove the following declares ASAP plugin is ready
  56. ;     SCSIPluginActionEntry            scsiPluginAction;                    // address of SIM action routine
  57. ;     SCSIPluginHandleBusEventEntry    scsiPluginHandleBusEvent;
  58. ;     SCSIPluginInitEntry                scsiPluginInit;
  59. sizeof                     EQU *                    ; size:   $24 (36)
  60.                         ENDR
  61. ;  Define SIM calls passed into the family at initialize time
  62.  
  63. kSCSIPluginVersion                EQU        $02019600            ; date and version *** temporary
  64. SCSIPluginInfo            RECORD 0
  65. version                     ds.l    1                ; offset: $0 (0)
  66. reserved1                 ds.l    1                ; offset: $4 (4)
  67. reserved2                 ds.l    1                ; offset: $8 (8)
  68. reserved3                 ds.l    1                ; offset: $C (12)
  69. sizeof                     EQU *                    ; size:   $10 (16)
  70.                         ENDR
  71. ;  plugin needs to export this structure
  72. SCSIPluginDispatchTable    RECORD 0
  73. header                     ds        SCSIPluginInfo ; offset: $0 (0)
  74. scsiPluginAction         ds.l    1                ; offset: $10 (16)        ;  address of SIM action routine
  75. scsiPluginHandleBusEvent  ds.l    1                ; offset: $14 (20)
  76. scsiPluginInit             ds.l    1                ; offset: $18 (24)
  77. sizeof                     EQU *                    ; size:   $1C (28)
  78.                         ENDR
  79. ;
  80. ; extern void SCSIPluginAction(SCSI_PB *scsiPB)
  81. ;
  82.     IF GENERATINGCFM THEN
  83.         IMPORT_CFM_FUNCTION SCSIPluginAction
  84.     ENDIF
  85.  
  86. ;
  87. ; extern void SCSIPluginHandleBusEvent(void *busEvent)
  88. ;
  89.     IF GENERATINGCFM THEN
  90.         IMPORT_CFM_FUNCTION SCSIPluginHandleBusEvent
  91.     ENDIF
  92.  
  93. ;
  94. ; extern OSStatus SCSIPluginInit(PluginControlBlock *pcb)
  95. ;
  96.     IF GENERATINGCFM THEN
  97.         IMPORT_CFM_FUNCTION SCSIPluginInit
  98.     ENDIF
  99.  
  100. ;
  101. ; extern void SCSIFamMakeCallback(SCSI_PB *req)
  102. ;
  103.     IF GENERATINGCFM THEN
  104.         IMPORT_CFM_FUNCTION SCSIFamMakeCallback
  105.     ENDIF
  106.  
  107. ;
  108. ; extern OSStatus SCSIFamBusEventForSIM(UInt32 busID, void *busEvent)
  109. ;
  110.     IF GENERATINGCFM THEN
  111.         IMPORT_CFM_FUNCTION SCSIFamBusEventForSIM
  112.     ENDIF
  113.  
  114.     ENDIF
  115.     ENDIF ; __SCSIPLUGIN__ 
  116.  
  117.